The present invention relates to converting digitized data into a waveform image for display on a raster scan device, and more particularly to a fast rasterizer that allows data to be displayed at rates similar to the fastest data acquisition rates.
Waveform imaging hardware has been getting progressively faster, and this trend certainly is continuing. An early scheme for waveform imaging produced an image of a single waveform during each frame of a raster scan display. The digitized data is held in a memory and repeatedly read out once for each line in the frame. At each pixel time the digitized data for that column is compared to the line number and the comparison is used to determine if a dot is to be displayed. U.S. Pat. No. 3,786,476 entitled “Television Type Display System for Displaying Waveforms of Time-Varying Signals” describes such a system in which up to four waveforms may be displayed and scrolled. A number of variations on this scheme are used to fill in missing vertical lines and to scale the waveform. In all of these schemes the waveform update rate is limited to about one waveform per frame or about sixty per second.
When memory became less expensive a memory was used to hold a raster image of the waveform. The memory is read out once for each frame and the contents of the memory are used to set the greyscale and to specify the color of the pixels. Initially a microprocessor built the waveform images. This scheme appears to be mentioned in U.S. Pat. No. 4,134,149 entitled “High Sweep Rate Waveform Display Control for Digital Recording Waveform Devices.” Later, custom hardware was designed both to place the waveform image into the memory and to cause the waveform images to fade with time. U.S. Pat. No. 5,254,983 entitled “Digitally Synthesized Gray Scale for Raster Scan Oscilloscope Displays” describes one variation of this technique.
In order to increase the rate of drawing waveform images some instruments included many sets of the hardware. In some cases each set was used for a different channel, as in U.S. Pat. No. 5,530,454 entitled “Digital Oscilloscope Architecture for Signal Monitoring with Enhanced Duty Cycle.” In other cases multiple sets of this hardware were used with a single channel. Waveform update rates of around 400,000 per second are claimed.
The length of the digitized data in number of samples often greatly exceeds the width of the display in pixel columns. In order to decrease the waveform drawing time, hardware was designed that divided the digitized data into groups and then found the maximum and minimum values within each group. These values are then used to draw the waveform image. This is shown in U.S. Pat. No. 5,255,365 entitled “Method and Apparatus for Compacting Digital Time Series Data for Display on a Digital Oscilloscope.” Although the display may not look as nice as if all of the data were used, this technique greatly reduces the drawing time when the record length, i.e., number of acquired samples, is long. Another technique for decreasing the waveform drawing time is to discard portions of the data. This is described in U.S. Pat. No. 6,104,374 entitled “Sparse Vector Rasterization.” When lots of waveforms are being drawn, users may not notice that portions of the waveforms have not been drawn in as much detail as when few waveforms are being drawn.
A technique to reduce waveform drawing time while preserving all of the data is to have a special purpose, one-column memory that keeps track of the intensity of every pixel in just one column of the display image. The display image is drawn from left to right, one column at a time. Prior to processing a column, the special purpose memory is cleared. The digitized data for that column is then processed one sample at a time. Lines are drawn between samples by incrementing memory elements corresponding to the pixels in the column. The increment amount may be varied based on the length of each line to allow long lines to appear fainter. After processing the data for the column, the memory contents are transferred to a holding memory. At this point the process of forming the image for the next column starts. While the next column image is being formed, the holding memory is combined with a traditional raster memory to merge the image of the last column into the previously drawn waveform images. This is described in U.S. Pat. No. 6,278,435 entitled “Compression and Acquisition Count Optimization in a Digital Oscilloscope Variable Intensity Rasterizer.” A limiting factor of this technique is the time it takes to merge the new image with the prior images. To reduce the amount of merging, this technique is used to produce an image of many waveforms in parallel. An image of the first column of many waveforms is developed in the special purpose memory. This first column image is merged into the traditional raster memory while the second column is being generated.
Regardless of which of the above techniques is used to make waveform images faster, digital oscilloscopes still acquire data many times faster than the data can be displayed. For example a TDS1000 digital oscilloscope, manufactured by Tektronix, Inc. of Beaverton, Oreg., has a waveform display where the fastest horizontal axis is 2.5 ns per division and each division has twenty-five pixel columns. A waveform drawing machine that keeps up with the acquisition of data must draw ten pixel columns of the waveform image each nanosecond. In order to draw one nanosecond of the waveform image, at least ten pixels must be set in the waveform memory. Even more pixels must be set when the waveform is rapidly rising or falling. It is challenging to draw ten pixel columns of a picture in one nanosecond since most memory devices have an access time of more than one nanosecond and no memories allow ten independent locations to be accessed in a single cycle.
What is desired is a faster rasterizer that makes it possible to display data at rates similar to the fastest data acquisition rates.